#ifndef _CMENU_H_
#define _CMENU_H_

#define k_Menu_Max_Items	32

class GLESLib;
class CMenuItem;
class CMenu
{	
	INT16 iX, iY;
	INT16 iW, iH;
	UINT8 iItemGap;
	UINT32 iBgColor;

	bool bVisible;
	CMenuItem* pItems[k_Menu_Max_Items];
	UINT8 iNumItem;
	INT16 iSelItem;

	
public:
	CMenu();
	~CMenu();
	void SetPos(int px, int py);
	void SetVisible(bool visible = true);
	void AddItem(CMenuItem *item);
	CMenuItem* SetItem(CMenuItem *item, int id, bool del = true);
	void RemoveItem(int id, bool del = true);
	void CleanMenu(bool del = true);
	void SetEnableItem(int id, bool enable);
	UINT8 GetNumItem();
	INT16 GetSelItemId();
	CMenuItem* GetSelItem();
	CMenuItem* GetItemById(UINT8 id);
	CMenuItem* GetItemByCmd(INT16 cmd);
	INT16 Update();
	void Draw(GLESLib *g);
	//INT16 HandleTouch(int tx, int ty);
	INT16 HandleStartTouch(int tx, int ty);
	INT16 HandleMoveTouch(int tx, int ty);
	INT16 HandleEndTouch(int tx, int ty);
};

#endif // _CMENU_H_